/*
 * Copyright (c) 2020 - present, Inspur Genersoft Co., Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.inspur.edp.cdp.cdf.component.metadata.obsolete.metadata;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.inspur.edp.lcm.metadata.api.AbstractMetadataContent;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 构件描述类
 *
 * @author Shawn Hou
 */
@Data
@NoArgsConstructor
public class ObseleteCommonComponent extends AbstractMetadataContent implements Serializable {

    private static final long serialVersionUID = -8911951259871763530L;

    @JsonProperty("Id")
    private String id;

    @JsonProperty("Code")
    private String code;

    @JsonProperty("Name")
    private String name;

    @JsonProperty("AssemblyName")
    private String assemblyName;

    @JsonProperty("FullClassName")
    private String fullClassName;

    @JsonProperty("Description")
    private String description;

    @JsonProperty("AppName")
    private String appName;

    @JsonProperty("SuName")
    private String suName;

    @JsonProperty("Version")
    private String version;

    @JsonProperty("Models")
    private List<ModelRefer> models = new ArrayList<>();

    @JsonProperty("Methods")
    private List<ComponentMethod> methods = new ArrayList<>();

    @Override
    public Object clone() {
        return null;
    }
}
